package com.zxy.zxyrpc.fault.tolerant;

import com.zxy.zxyrpc.spi.SpiLoader;

/**
 * 容错策略工厂
 *
 * @author zxy
 * @since 2025/5/29
 **/
public class TolerantStrategyFactory {
    private static final TolerantStrategy DEFAULT_TOLERANT_STRATEGY = new FailFastTolerantStrategy();

    /* 在 SPI 中的 getInstance 方法动态加载可能会更好
    static {
        SpiLoader.load(TolerantStrategy.class);
    }*/

    /**
     * 获取容错策略实例
     *
     * @param key 容错键名常量
     */
    public static TolerantStrategy getInstance(String key) {
        return SpiLoader.getInstance(TolerantStrategy.class, key);
    }
}
